import { ControlPreference } from './ControlPreference'; export declare class FieldLayout { displayLabel: string; /** name of the related eneity-field to bind */ fieldName: string; /** for tool-tip */ summary?: string; /** only valid when a field.type == 'text' */ textContentType?: 'plain' | 'markdown' | 'html'; /** only valid when a field.type == 'text' */ textIsMultiLine?: boolean; /** only valid when a field.type == 'text' */ textMaxLength?: number; /** only valid when a field.type == 'text' */ textValidationRegex?: string | null; dropdownMode?: 'none' | 'static' | 'staticAndCustom' | 'staticFromDataSource'; multiSelectSeparator?: string | null; allowCrudForLookUp?: boolean; /** only valid when a field.dropdownMode == 'static'|'staticAndCustom' (in the form of '{'key':'label'}') */ dropdownStaticEntries?: { [key: string]: string; }; /** only valid when a field.dropdownMode == 'staticFromDataSource' */ dropdownDataSource?: string; /** only valid when a field.type == 'number' */ numberDecimals?: number; /** only valid when a field.type == 'number' */ numberMin?: number; /** only valid when a field.type == 'number' */ numberMax?: number; /** only valid when a field.type == 'datetime' */ showDatePortion?: boolean; /** only valid when a field.type == 'datetime' */ showTimePortion?: boolean; /** the class-name of a custom validator to use */ validatorName?: string; required?: boolean; defaultValue?: string | null; /** * Never = 0 (this field should only be set by wellknown technical automatisms), * OnCreation = 1 (this field should be setable when a record is created newly (or on full-import/recovery)), * OnSingleUpdate = 2 (this field should be setable during the usecase of an individual edit), * OnBatchUpdate = 4 (this field should be setable during a batch-update for multiple records), * AfterCreation = 6 (represents the logical combination of 'OnSingleUpdate' + 'OnBatchUpdate'), * Always = 7 (represents the logical combination of 'OnCreation' + 'AfterCreation') */ setabilityFlags?: number; /** * Indicates, if a field belongs to a more specific business domain. * This can be used to control the detail-grade (displayed fields) in the UI * or when exporting data in an abstract way. */ contentConcern?: string | null; /** * Defines whether a field contains content that is commonly used for filtering. * This can have the values 0=None, 1=ExactMatch, 2=Substring (tect whcih has NOT the semantic of an ID/KEY) * This is a non-technical information, which relates to the domain model (business-level)! */ filterable?: number; hidden?: boolean; controlPreference?: ControlPreference; unit?: string; }